Important: ansible and openshift-ansible security and bug fix update

Synopsis

Important: ansible and openshift-ansible security and bug fix update

Type/Severity

Security Advisory: Important

Topic

An update for ansible and openshift-ansible is now available for Red Hat OpenShift Container Platform 3.2, Red Hat OpenShift Container Platform 3.3, Red Hat OpenShift Container Platform 3.4, and Red Hat OpenShift Container Platform 3.5.

Red Hat Product Security has rated this update as having a security impact of Important. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section.

Description

Ansible is a simple model-driven configuration management, multi-node deployment, and remote task execution system. Ansible works over SSH and does not require any software or daemons to be installed on remote nodes.

The openshift-ansible packages contain Ansible code and playbooks for installing and upgrading OpenShift Container Platform 3.

Security Fix(es):

  • An input validation vulnerability was found in Ansible's handling of data sent from client systems. An attacker with control over a client system being managed by Ansible, and the ability to send facts back to the Ansible server, could use this flaw to execute arbitrary code on the Ansible server using the Ansible server privileges. (CVE-2017-7466)
  • An input validation flaw was found in Ansible, where it fails to properly mark lookup-plugin results as unsafe. If an attacker could control the results of lookup() calls, they could inject Unicode strings to be parsed by the jinja2 templating system, resulting in code execution. By default, the jinja2 templating language is now marked as 'unsafe' and is not evaluated. (CVE-2017-7481)

These issues were discovered by Evgeni Golov (Red Hat).

Bug Fix(es):

  • The installer could fail to add iptables rules if other iptables rules were updated at the same time. The installer now waits to obtain a lock, ensuring that rules are properly created. (BZ#1445194, BZ#1445282)
  • In multi-master environments, if `ansible_host` and `openshift_hostname` values differ and Ansible sorts one of the lists differently from the other, the CA host may be the first master but it was still signing the initial certificates with the host names of the first master. By ensuring that the host names of the CA host are used when creating the certificate authority, this bug fix ensures that certificates are signed with correct host names. (BZ#1447399, BZ#1440309, BZ#1447398)
  • Running Ansible via `batch` systems like the `nohup` command caused Ansible to leak file descriptors and abort playbooks whenever the maximum number of open file descriptors was reached. Ansible 2.2.3.0 includes a fix for this problem, and OCP channels have been updated to include this version. (BZ#1439277)
  • The OCP 3.4 logging stack upgraded the schema to use the common standard logging data model. However, some of the Elasticsearch and Kibana configuration using this schema was missing, causing Kibana to show an error message upon startup. The correct Elasticsearch and Kibana configuration is now added to the logging stack, including for upgrades from OCP 3.3 to 3.4, and from 3.4.x to 3.4.y. As a result, Kibana works correctly with the new logging data schema. (BZ#1444106)
  • Because the upgrade playbooks upgraded packages in a serial manner rather than all at once, yum dependency resolution installed the latest version available in the enabled repositories rather than the requested version. This bug fix updates the playbooks to upgrade all packages to the requested version at once, which prevents yum from potentially upgrading to the latest version. (BZ#1391325, BZ#1449220, BZ#1449221)
  • In an environment utilizing mixed containerized and RPM-based installation methods, the installer failed to gather facts when a master and node used different installation methods. This bug fix updates the installer to ensure mixed installations work properly. (BZ#1408663)
  • Previously, if `enable_excluders=false` was set, playbooks still installed and upgraded the excluders during the config.yml playbook even if the excluders were never previously installed. With this bug fix, if the excluders were not previously installed, playbooks avoid installing them. (BZ#1434679)
  • Previously, playbooks aborted if a namespace had non-ASCII characters in their descriptions. This bug fix updates playbooks to properly decode Unicode characters, ensuring that upgrades to OCP 3.5 work as expected. (BZ#1444806)

Solution

For details on how to apply this update, which includes the changes described in this advisory, refer to:

https://access.redhat.com/articles/11258

Affected Products

  • Red Hat OpenShift Container Platform 3.5 x86_64
  • Red Hat OpenShift Container Platform 3.4 x86_64
  • Red Hat OpenShift Container Platform 3.3 x86_64
  • Red Hat OpenShift Container Platform 3.2 x86_64

Fixes

  • BZ - 1391325 - [3.5] openshift_pkg_version doesn't seem to work
  • BZ - 1408663 - [3.4] facts collection for openshift.common.admin_binary does not seem to work in mixed environments
  • BZ - 1418032 - [3.2] Update router and registry certificates in the redeploy-certificates.yml
  • BZ - 1422541 - [3.5] [quick installer]Installer get stuck at "Gathering information from hosts..." if bad hostname checked
  • BZ - 1434679 - [3.5] openshift-ansible should do nothing to existed excluders when set "enable_excluders=false"
  • BZ - 1439212 - CVE-2017-7466 ansible: Arbitrary code execution on control node (incomplete fix for CVE-2016-9587)
  • BZ - 1439277 - Ansible Install is unable to complete install due to module losing issues.
  • BZ - 1440309 - [3.4] Post-install, master certs signed for wrong name
  • BZ - 1444106 - [3.4 Backport] openshift users encountered confirmation "Apply these filters?" when switching between index list populated in the left panel on kibana
  • BZ - 1444806 - [3.5] Unable to run upgrade playbook
  • BZ - 1445194 - [3.4] Installer fails to add/check iptables rule due to lock on xtables
  • BZ - 1445282 - [3.3] Installer fails to add/check iptables rule due to lock on xtables
  • BZ - 1446741 - [3.4] Redeploy certificates fails with custom openshift_hosted_router_certificate
  • BZ - 1446745 - [3.3] Redeploy certificates fails with custom openshift_hosted_router_certificate
  • BZ - 1447398 - [3.3] Post-install, master certs signed for wrong name
  • BZ - 1447399 - [3.5] Post-install, master certs signed for wrong name
  • BZ - 1448842 - Installing Openshift Container Platform 3.5 returns an error on Play 11/28 (Disable excluders)
  • BZ - 1449220 - [3.4] openshift_pkg_version doesn't seem to work
  • BZ - 1449221 - [3.3] openshift_pkg_version doesn't seem to work
  • BZ - 1450018 - CVE-2017-7481 ansible: Security issue with lookup return not tainting the jinja2 environment
  • BZ - 1450412 - [3.4] Installing containerized using the 3.4 playbooks may install other versions
  • BZ - 1450415 - [3.3] Installing containerized using the 3.3 playbooks may install other versions

CVEs

References